A WLAN is such a network system that a part of the wire LAN is constructed by a wireless system, in which wireless stations can be bridged to the backbone network via an access point.
The IEEE 802.11 standard for WLAN data communication provides a multi-rate capability, in which a transmitter can transmit packets using any one of multiple optional data rates according to the quality of the channel condition. That is, the physical layer (PHY) of the IEEE 802.11 standard supports multi-rate transmission of the transmitter by dynamically selecting an appropriate modulation technique, for example, according to the feedback of the receiver on the signal strength of received packets. This in turn will enable a Wireless Network Interface Card (WNIC) to adapt a transmission rate to a radio channel condition.
The following table shows a Modulations and Coding Scheme (MCS) used in the IEEE 802.11 standard. As seen from this table, every transmission rate is adapted by a unique MCS to respective wireless channel condition. If a wireless channel condition can not support one given MCS, another MCS will be adopted to achieve higher throughput.
TABLE 1TransmissionModulationBits perCodingrate802.11 standardSchemeSymbolScheme1bBPSK1 1/112bQPSK2 1/115.5bCCK14/811bCCK24/86a/gBPSK11/29a/gBPSK13/412a/gQPSK21/218a/gQPSK23/424a/gQAM-1641/236a/gQAM-1643/448a/gQAM-6462/354a/gQAM-6463/4
While the IEEE 802.11 standard includes a specification for 802.11 MAC protocol and RF-oriented PHY parameters, it does not define any particular data rate adaption schemes or Rate Control Algorithms (RCAs). This topic is open to device manufacturers to improvise. Several data rate adaption methods have been proposed and used with the IEEE 802.11 standard. Next, some known RCAs will be described.
1. ARF and Onoe Algorithms
ARF (Auto Rate Fallback) was developed for WaveLAN-II 802.11 WNICs. According to the ARF, each transmitter attempts to use a higher transmission rate after a pre-designed fixed number of continuous transmissions at a given rate and switches back to a lower rate relative to its currently used rate after two consecutive failures.
The ARF algorithm has advantages of easy implementation in small devices and good performance in conditions where wireless channel quality is changing frequently. However, in spite of its easy deployment in practical application environment, the ARF algorithm will have a poor performance in a situation where wireless links have no much fluctuation on packet loss caused by environmental changes. For example, in a family environment, people are more inclined to sit down to enjoy wireless applications without frequently moving around. In such case, the ARF may often or in a fixed time interval increase the packets transmission rate over the optimal value to another one, which requires many retries for each packet. It will take much time for this procedure to try many transmission rates which are doomed to fail.
The Onoe algorithm, which basically applies the same idea as the ARF, is a credit based RCA where a credit is used to evaluate the performance under current packet transmission rate (just like a score system). The value of the credit is determined by the numbers of continuous transmission, erroneous transmission and retransmissions accumulated during a fixed period, such as 1000 ms. If less than for example 10% of the packets needs to be retransmitted at a particular rate, the Onoe algorithm will keep increasing its credit point till a threshold value, for example 10, is reached. At this point, the current transmission rate is increased to the next available higher rate and the process will repeat with credit score being zero. Similar logic holds for deducting the credit score and moving to a lower bit-rate for failed packet transmission/retransmission attempts.
Although it can alleviate the fluctuation of channel condition, the Onoe algorithm is relatively conservative. That is, once the Onoe algorithm detects that a transmission rate does not work, it will not attempt to step up again within at least 10 seconds. Also, if wireless channel condition degrades for some reasons, the Onoe algorithm will waste roughly 9 seconds to step down in most of such situations. Assuming that the transmission rate is reduced from 24 Mbps to 5.5 Mbps for an occasional interference, according to a calculation, it will take about 60 s for the Onoe algorithm to recover to the previous rate of 24 Mbps after the interference disappears, which is huge resource consumption in practical applications.
2. AARF and AMRR (Adaptive Multi Rate Retry) Algorithms
As described above, ARF will try to use a higher rate every 10 consecutive packets, which will result in increased retransmission attempts and thus a decreased application throughput if the channel condition is relatively stable. To overcome the above disadvantage, a solution called AARF (Automatic ARF) is proposed to increase the threshold used to decide when to increase the current rate, for example, from 10 to 40 or 80. AARF is an extension of ARF, in which the step up parameter is doubled every time the algorithm tries to increase the packet transmission rate but the subsequent packet fails. This can largely increase throughput in a situation where the channel condition does not dramatically fluctuate.
A weak point of the AARF algorithm is that it will take more time to step up to an optimal transmission rate even channel condition supports this rate. This is because the packet loss exists everywhere and AARF will enlarge the occasional packet loss, which will induce a longer adaption time.
Similarly to the AARF, AMRR algorithm also uses the Binary Exponential technique to adapt the length (threshold) of the sampling period which is used to change the value of transmission rate parameter. AMRR, which was combined to Madwifi 802.11 driver, implements and remains the algorithm principle the same as AARF. Therefore, AMRR has the same weak point as AARF.
3. SampleRate Algorithm
SampleRate algorithm determines the transmission rate based on the history of performance. In this algorithm, the transmitter keeps a record of the number of successive failures, the number of continuous transmissions and the total transmission time along with the destination for that transmission rate. Stale samples are removed based on an evaluation window mechanism.
SampleRate stops using a transmission rate if there are four successive failures. So when starting to send packets over a link, the SampleRate will decrease the transmission rate until it finds a transmission rate that is capable of sending packets. SampleRate selects a random transmission rate every tenth data packet from a set of bit-rates that may be better than the current one and sends the packet using that selected transmission rate. To calculate the average transmission time of each transmission rate, SampleRate uses feedback from the wireless card to calculate how much time each packet transmission required. SampleRate calculates the transmission time for each packet using the packet length, transmission rate and the number of retries.
The SampleRate algorithm can achieve a good performance especially in a channel condition where packet loss often occurs. Compared with some other existing RCAs, SampleRate can adapt itself more quickly to wireless channel condition fluctuation. But according to the principle of this algorithm, we can know that SampleRate actually achieves the optimal transmission rate by a probability fashion. Thus, it will take SampleRate much time to reach the optimal transmission rate, especially in a case of recovering to previous higher rate from a lower rate caused by an occasional interference after the interference disappears.
As a conclusion, conventional data rate adaption methods, including the above described RCAs, have a common disadvantage that the data rate is easy to drop down but difficult to restore.
FIG. 1 is an exemplary diagram showing the adjustment procedure of the existing RCAs. As shown by line 101 in FIG. 1, when an occasional wireless interference occurs, the RCA will quickly respond by degrading the transmission rate step by step to a lower value. However, after the interference disappears, it will take a long time for the RCA to recover transmission rate to the level before the interference occurs, as shown by line 102 in FIG. 1. For example, according to the above-described Onoe algorithm, in most cases when a channel condition deteriorates by interference, it will only take transmission failure time of 5 packets (including retry time) for packet transmission rate to drop from 24 Mbps to 11 Mbps. But in a good channel condition after the interference disappears, it will take 50 seconds to restore to the transmission rate of 24 Mbps.
The main reason of this common disadvantage arises from the fact that all the existing RCAs assume that the wireless network will operate in an environment where channel conditions change frequently due to various interferences. However, if we consider a more dedicated network such as family or home WLAN which operates in a relatively stable environment, a more efficient data transmission rate adaptation method is needed.